package com.swak.annotation.validate;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.core.annotation.AliasFor;

import com.swak.utils.StringUtils;

/**
 * 标注的参数上, 标明该参数是需要校验的;
 * 
 * 参数是否需要校验: 需要配合 BindErrors 一起使用， 使用 BindErrors 接收错误信息 <br>
 * 如果没有使用 BindErrors 接收错误则会直接返回错误信息
 *
 * @author: lifeng
 * @date: 2020/3/28 17:25
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.PARAMETER })
@Documented
public @interface Valid {

	/**
	 * 校验分组
	 * 
	 * @return
	 */
	@AliasFor(attribute = "group")
	String value() default StringUtils.EMPTY;

	/**
	 * 校验分组
	 * 
	 * @return
	 */
	String group() default StringUtils.EMPTY;
}
